package com.mindmax.user.service;

import com.mindmax.user.domain.AdminUser;
import com.mindmax.user.vo.BindingTenantUserVo;

import java.util.List;
import java.util.Map;

/**
 * 忆图用户Service接口
 *
 * @author cabloy
 * @date 2024-04-02
 */
public interface IAdminUserService
{
    /**
     * 查询忆图用户
     *
     * @param id 忆图用户主键
     * @return 忆图用户
     */
    public AdminUser selectAdminUserById(Long id);

    /**
     * 查询忆图用户列表
     *
     * @param adminUser 忆图用户
     * @return 忆图用户集合
     */
    public List<AdminUser> selectAdminUserList(AdminUser adminUser);

    /**
     * 新增忆图用户
     *
     * @param adminUser 忆图用户
     * @return 结果
     */
    public int insertAdminUser(AdminUser adminUser);

    /**
     * 修改忆图用户
     *
     * @param adminUser 忆图用户
     * @return 结果
     */
    public int updateAdminUser(AdminUser adminUser);

    /**
     * 批量删除忆图用户
     *
     * @param ids 需要删除的忆图用户主键集合
     * @return 结果
     */
    public int deleteAdminUserByIds(Long[] ids);

    /**
     * 删除忆图用户信息
     *
     * @param id 忆图用户主键
     * @return 结果
     */
    public int deleteAdminUserById(Long id);

    List<AdminUser> selectAdminUserByIds(List<Long> userIds);

    Map<Long, Integer> selectCountByTenant(List<Long> ids);

    void rebindingUserTenant(BindingTenantUserVo bindingTenantUserVo);
}
